home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - ProDOS / PRO015A.dsk / BBS.2.bas < prev    next >
BASIC Source File  |  2012-02-16  |  6KB  |  92 lines

  1. 10  ONERR  GOTO 3800
  2. 30  ON  PEEK(793) = 7 GOTO 2180: GOTO 3020
  3. 310  IF  MID$ (M$(Z),80,1) < >"P"  THEN G = 1: &  RETURN 
  4. 320  &  GOSUB 1100: IF SL > = M2  THEN G = 1: &  RETURN 
  5. 330  IF  MID$ (NM$,22,20) =  MID$ (M$(Z),56,20)  OR  MID$ (NM$,22,20) =  MID$ (M$(Z),36,20)  THEN G = 1: &  RETURN 
  6. 340 G = 0: &  RETURN 
  7. 380  &  GOSUB 310: ON G GOTO 410: IF DP = 0  THEN  &  RETURN 
  8. 400  &  PRINT ,B$(10);Z;"  ";B$(20),: &  RETURN 
  9. 410  IF M$(Z) = ""  THEN  &  RETURN 
  10. 420  IF  MID$ (M$(Z),80,1) = "P"  THEN  &  PRINT ,B$(20);
  11. 430  IF  MID$ (M$(Z),81,1) = "P"  THEN  &  PRINT B$(78);
  12. 440 CC$ = ":": &  PRINT !,B$(10);Z;"  ";B$(11); MID$ (M$(Z),8,2);"/"; MID$ (M$(Z),10,2);"/"; MID$ (M$(Z),6,2);" ";B$(12); MID$ (M$(Z),12,2);CC$; MID$ (M$(Z),14,2)
  13. 460  &  END R: ON R GOTO 530,1250
  14. 470  &  PRINT !;B$(13);@ MID$ (M$(Z),16,20),B$(14);@ MID$ (M$(Z),36,20): &  END R: ON R GOTO 530,1250: IF NA% = 0  OR SL =  >M2  THEN  &  PRINT !;B$(15);@ MID$ (M$(Z),56,20);"  ";B$(16);@ MID$ (M$(Z),77,3)
  15. 480  &  END R: ON R GOTO 530,1250: IF F < >1  THEN  &  RETURN 
  16. 500  &  PRINT B$(28);:B$ = "YNXQ" + CHR$(13)
  17. 510  &  GET Z$: &  SGNZ$: &  INTB$,Z$,R: ON R GOTO 520,530,550,550,520: GOTO 510
  18. 520 MK%(Z) = 1:P = 0
  19. 530  &  PRINT Z$: &  RETURN 
  20. 550  &  PRINT Z$: GOTO 1250
  21. 670  FOR I = 0 TO MX:L$(I) = "": NEXT :I$ = "":W$ = "":W% = 0:L = 0: POKE 795,0:F = 0: PRINT FR$: POKE 813,255: &  RETURN 
  22. 710  &  AT P,R: IF R = 1  THEN  &  PRINT ,B$(75),,: GOTO 1250
  23. 711  &  RETURN 
  24. 900  PRINT ST$;"FIL.MSG": &  RETURN 
  25. 1100 SL =  ASC( MID$ (NM$,80,1)) -64: &  RETURN 
  26. 1220 :
  27. 1240 T = T(L):M = M(L):B = B(L):A =  VAL( MID$ (NM$,81,1)):MT = MT(L)
  28. 1250  IF  PEEK(793) = 1  AND L < >3  THEN 4160
  29. 1255  &  SCALE= HM
  30. 1260  IF A = 0  AND MT = 1  THEN  PRINT BL$;"M.FIL."; PEEK(865);".";L",A";HM:A = 5
  31. 1300  &  LIST A,S$(T),S$(M),S$(B),B$(0),T$(L),B$(1),C,S,TY,WH,NM,P:A =  VAL( MID$ (NM$,81,1)): IF C = 0  THEN  &  PRINT ,B$(2),: GOTO 1220
  32. 1330  IF S >127  THEN  &  PRINT ,B$(3),: GOTO 1220
  33. 1340  ON TY GOTO 1390,1250,2370,1250,1250
  34. 1390 A = 0: GOTO 1250
  35. 1480  &  FN 5,A:P =  PEEK(836): &  GOSUB 710: PRINT RN$;"LOG": IF  MID$ (NM$,1,1) = "#"  THEN  &  PRINT ,B$(81),,: GOTO 1250
  36. 2175  IF W% = 1  THEN L = 3: GOTO 1240
  37. 2180  &  PRINT ,B$(25),,: &  CLEAR 
  38. 2190  &  STR$WD,DF$: &  PLOT L$(I): &  STOP L$(I),C: ON C GOTO 2200: GOTO 2230
  39. 2200 I = I +1:C = 0: IF I < = MX  THEN 2190
  40. 2210  &  PRINT ,B$(42),
  41. 2230  IF I < = 1  THEN 2480
  42. 2240 I = I -1: ON C GOTO 1240,1240,2840,2520,2480,2630,2700,2560,2410: GOTO 1240
  43. 2370  ON WH GOTO 2410,2480,2520,2560,2630,2700,2790,2840
  44. 2410 Z = J: &  GOSUB 380
  45. 2420  FOR X = 1 TO I: &  PRINT !;X;">";L$(X): &  END R: ON R GOTO 2440,2440
  46. 2430  NEXT : GOTO 1250
  47. 2440 X = I +1: GOTO 2430
  48. 2480  &  GOSUB 670: &  PRINT ,B$(36),:ED% = 0: GOTO 2950
  49. 2520  &  GOSUB 670: &  PRINT ,B$(38),:I = 1: GOTO 2180
  50. 2560  &  PRINT ,B$(50);: &  STR$2,NB$: &  INPUT Z$:Z =  VAL(Z$): IF Z$ = ""  THEN  GOTO 1250
  51. 2580  IF Z <1  OR Z >I  THEN  &  PRINT ,B$(49),: GOTO 2560
  52. 2590  &  POP MX -Z,0,L$(Z):I = I -1: GOTO 1250
  53. 2630  &  PRINT ,B$(37);: &  STR$2,NB$: &  INPUT Z$:Z =  VAL(Z$): IF Z$ = ""  THEN  GOTO 1250
  54. 2650  IF Z <1  OR Z >I  THEN  &  PRINT ,B$(49),: GOTO 2630
  55. 2660  &  PRINT B$(51);Z,L$(Z): &  STR$WD,DF$: &   STEP L$(Z): GOTO 2630
  56. 2700  IF I =  >MX  THEN  &  PRINT ,B$(42),: GOTO 1250
  57. 2710  &  PRINT ,B$(53);: &  STR$2,NB$: &  INPUT Z$:Z =  VAL(Z$): IF Z$ = ""  THEN  GOTO 1250
  58. 2730  IF Z <1  OR Z >I  THEN  &  PRINT ,B$(49),: GOTO 2700
  59. 2740  &  POP (I +1) -Z,1,L$(I +1): &  PRINT ,B$(54),: &  STR$WD,DF$: &  INPUT L$(Z):I = I +1: GOTO 2700
  60. 2790  IF I =  >MX  THEN  &  PRINT ,B$(42),: GOTO 1250
  61. 2800 I = I +1: &  CLEAR : &  PRINT ,B$(41),: GOTO 2190
  62. 2840  IF ED% = 1  THEN 3110
  63. 2850  &  SAVE  = HM: FOR X = 1 TO I: &  SAVE L$(X): NEXT : &  LENZ:J = MM +1: IF SP% = 1  THEN  &  PRINT ,B$(79);: &  USRX: ON X GOTO 2862,2863
  64. 2861  GOTO 2865
  65. 2862  &  MID$ "P",M$(J),80,1: GOTO 2865
  66. 2863  &  MID$ "X",M$(J),80,1
  67. 2865  &  PEEK777,X:X = X +1: &  POKE 777,X: &  MID$  RIGHT$("00000" + STR$(X),5),M$(J),1,5: &  PRINT ,B$(74): IF LP <50  THEN LP = LP +1:Z$ = "0": &  MID$ Z$,M$(J),76,1: GOTO 2900
  68. 2890 HP = HP +1:Z$ = "1": &  MID$ Z$,M$(J),76,1
  69. 2900  &  GOSUB 3150:MM = J:R =  VAL( MID$ (NM$,87,3)):R = R +1:Z$ =  RIGHT$("000" + STR$(R),3): &  PEEK798,R:R = R +1: &  POKE 798,R: &  MID$ PP$,M$(J),81,1: IF SP% = 0  THEN  &  MID$ P1$,M$(J),80,1
  70. 2930  &  MID$ Z$,NM$,87,3: &  STORE NM$: &  GOSUB 900: &  TAN PEEK(839),PH$: PRINT BS$;PH$;"/PAGE.3": &  PRINT ,B$(21),: POKE 813,255
  71. 2950  POKE 793,2: PRINT CH$;PH$;"/BBS.1"
  72. 3020 I = 1: &  EXP = HM
  73. 3030  &  EXPL$(I): IF I >100  THEN 3060
  74. 3040  IF L$(I) =  CHR$(0)  THEN 3060
  75. 3050 I = I +1: GOTO 3030
  76. 3060 I = I -1:L = 3:W% = 1:ED% = 1:J = Z:F = 0: GOTO 1240
  77. 3110  &  SAVE  = HM: FOR X = 1 TO I: &  SAVE L$(X): NEXT : &  LENZ:Z$ =  MID$ (M$(J),76,1): &  GOSUB 3150: &  PRINT ,B$(21),: PRINT CH$;PH$;"/BBS.1"
  78. 3150  PRINT BS$;"B.";Z$;"/B."; MID$ (M$(J),1,5);",A";HM;",L";Z: &  GOSUB 670:ED% = 0: &  RETURN 
  79. 3800  &  ONERR  = ER,LI: ONERR  GOTO 3800
  80. 3810  ON ER = 253 GOTO 1480: IF ER < >255  THEN 4020
  81. 3830  &  PRINT ,,"Please wait...",,: HOME 
  82. 3840  PRINT "[Q]UIT THE PROGRAM": PRINT "[U]TILITIES": PRINT "[S]YSTEM UTILITIES": PRINT "[R]ETURN TO PROGRAM": PRINT "[T]OGGLE CLOCK": PRINT "[O]FF HANG-UP": PRINT "COMMAND? ": GET Z$: &  SGNZ$: &  INT"QRUSTO",Z$,Z: ON Z GOTO 3920,3970,4000,4010,3930,3950: GOTO 3830
  83. 3920  END 
  84. 3930  IF  PEEK(813) = 0  THEN  POKE 813,255: &  PRINT "Clock is on...",,,: GOTO 3840
  85. 3940  POKE 813,0: &  PRINT "Clock is off..",,,: GOTO 3840
  86. 3950  GOTO 1480
  87. 3970  &  GOTO LI
  88. 4000  POKE 793,5:P =  PEEK(836): &  GOSUB 710: PRINT RN$;"LOG"
  89. 4010 P =  PEEK(837): &  GOSUB 710: PRINT RN$;"SYS.UTIL"
  90. 4020  &  PRINT ,"Error number ";ER;" in line ";LI,"Recycling to top!":ER =  PEEK(847):ER = ER +1: POKE 847,ER: IF ER >5  THEN  END 
  91. 4030  &  AT  PEEK(836),A: PRINT  CHR$(4);"RUN BBS.1"
  92. 60000  PRINT  CHR$(4);"SAVE BBS.2": END